package com.unitd.base.module.shoe.pojo.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.unitd.base.frame.plugin.module.model.MybatisShoeBaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 客户订单基础信息表
 *
 * @author Hudan
 * @version 1.0
 * @filename CustomerOrderPO.java
 * @copyright www.unitd.com
 * @date 2020-08-26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName(value = "tabDIYTable200")
public class CustomerOrderPO extends MybatisShoeBaseEntity {

    /** 行标 */
    @TableField("iOrd")
    private Integer iord;
    /** 订单号(自动生成 XCX+日期+序号 0001) */
    @TableField("F1927")
    private String f1927;
    /** 客户名称 */
    @TableField("F1928")
    private String f1928;
    /** 下单时间 */
    @TableField("F1929")
    private Date f1929;
    /** 下单人 */
    @TableField("F1930")
    /** 制单日期 */
    private String f1930;
    @TableField("F1931")
    private Date f1931;
    @TableField("F1932")
    private BigDecimal f1932;
    @TableField("F1933")
    private BigDecimal f1933;
    @TableField("F1934")
    private BigDecimal f1934;
    /** 客户编号 */
    @TableField("F1952")
    private String f1952;
    @TableField("F2055")
    private String f2055;
    @TableField("F2056")
    private String f2056;
    /** 收款金额 */
    @TableField("F2710")
    private BigDecimal f2710;
    /** 优惠金额 */
    @TableField("F2711")
    private BigDecimal f2711;
    /** 收款方式 */
    @TableField("F2713")
    private String f2713;
    @TableField("F2714")
    private BigDecimal f2714;
    @TableField("F2717")
    private BigDecimal f2717;
    /** 订单来源 自动电脑端，小程序 */
    @TableField("F2847")
    private String f2847;
    /** 审核人 自动获取审核用户账户 */
    @TableField("F2911")
    private String f2911;
    /** 收款方式编号 */
    @TableField("F3545")
    private String f3545;
    @TableField("F6019")
    private String f6019;
    @TableField("RepID")
    private Integer repid;
    @TableField("FillDate")
    private Date filldate;
    @TableField("ModifyDate")
    private Date modifydate;
    @TableField("DeptID")
    private Integer deptid;
    @TableField("OperID")
    private Integer operid;
    @TableField("sDesc")
    private String sdesc;
    @TableField("bIsFinish")
    private String bisfinish;
    @TableField("bLocked")
    private String blocked;
    @TableField("bCanViewWhenNoFinished")
    private String bcanviewwhennofinished;
    @TableField("OperID2")
    private Integer operid2;
    @TableField("dUpdate2")
    private Date dupdate2;
    @TableField("F14042")
    private BigDecimal f14042;
    @TableField("F15282")
    private String f15282;
    @TableField("F15292")
    private String f15292;

    @TableField(exist = false)
    private List<CustomerOrderItemPO> orderItems;

    public double getTotalAmt(){
        BigDecimal totalAmt = new BigDecimal(0.00);
        if(orderItems!=null&&orderItems.size()>0){
            orderItems.forEach(e->{
                totalAmt.add(e.getF1940());
            });

        }
        return totalAmt.doubleValue();
    }
}